package com.hafu.dao;

import com.hafu.model.GysInfo;
import com.hafu.util.DbUtil;
import com.hafu.util.StringUtil;

import java.sql.*;
import java.util.ArrayList;

public class GysInfoDao {
    public Boolean addGysInfo(GysInfo gys)
    {
        String sql ="insert into gysinfo(name,tel) values(?,?)";
        Connection conn = DbUtil.getConn();
        try{
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setString(1, gys.getName());
            preparedStatement.setString(2, gys.getTel());
            int i=preparedStatement.executeUpdate();
            if (i>0) {
                System.out.println("添加成功");
                return true;
            }else return false;
            }catch (Exception throwables){
            throwables.printStackTrace();
        }
        return false;
    }
    //删除供应商信息
    public Boolean deleteGysInfo(int id)
    {
        String sql = "delete from gysinfo where id=?";
        Connection conn =DbUtil.getConn();
    try{
        PreparedStatement preparedStatement = conn.prepareStatement(sql);
        preparedStatement.setInt(1,id);

        //执行添加sql方法
        int i = preparedStatement.executeUpdate();
        if (i>0){
            System.out.println("删除成功");
            return true;
        }else return false;
    }catch (SQLException throwables){
        throwables.printStackTrace();
    }
    return false;
  }
  //修改供应商信息
  public Boolean updateGysInfo(GysInfo gys)
  {
      String sql ="update gysinfo set name=?,tel=? where id=?";
      Connection conn =DbUtil.getConn();
      try{
          PreparedStatement preparedStatement =conn.prepareStatement(sql);
          preparedStatement.setString(1,gys.getName());
          preparedStatement.setString(2,gys.getTel());
          preparedStatement.setInt(3,gys.getId());
          //执行添加sql方法
          int i=preparedStatement.executeUpdate();
          if (i>0){
              System.out.println("修改成功");
              return true;
          }else return false;
      }catch (SQLException throwables){
          throwables.printStackTrace();
      }
      return false;
  }
  //查询供应商信息
  public ArrayList<GysInfo>getGysInfoByName(GysInfo gys)
  {
      ArrayList<GysInfo> list = new ArrayList<GysInfo>();
      String sql ="select * from gysinfo";
      if (!StringUtil.isEmpty(gys.getName())){
          sql=sql+"where name like'%"+gys.getName()+"%'";
      }
      Connection conn =DbUtil.getConn();
      try{
          PreparedStatement preparedStatement = conn.prepareStatement(sql);
          ResultSet resultSet =preparedStatement.executeQuery();
          while (resultSet.next()) {
              int id =resultSet.getInt("id");
              String name = resultSet.getString("name");
              String tel =resultSet.getString("tel");
              GysInfo gysInfo = new GysInfo(id,name,tel);
              list.add(gysInfo);
          }
      }catch (SQLException throwables){
          throwables.printStackTrace();
      }
      return list;
  }
}
